
package com.insigma.business.qrcode.soldier._provider;



import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseDeleteRequest;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.soldier.dto.SoldierOuterLoginAccountDTO;
import com.insigma.business.qrcode.soldier.request.BaseGetRequest;
import com.insigma.business.qrcode.soldier.request.SoldierOuterLoginAccountInsertRequest;
import com.insigma.business.qrcode.soldier.request.SoldierOuterLoginAccountSearchRequest;
import java.util.List;


public interface BaseSoldierOuterLoginAccountProvider {
    BaseResponse<SoldierOuterLoginAccountDTO> getByOuterSysTypeAndUserId(final Integer outerSystemType, final String outerSystemAccountId);


    BaseResponse<SoldierOuterLoginAccountDTO> getByIdCardNo(String idCardNo);

    BaseResponse<Integer> deleteSoldierOuterLoginAccount(final BaseDeleteRequest deleteRequest);
    BaseResponse<SoldierOuterLoginAccountDTO> getByZlbId(String outerZlbAccountId);


    BasePagingResponse<List<SoldierOuterLoginAccountDTO>> searchSoldierOuterLoginAccount(final SoldierOuterLoginAccountSearchRequest soldierOuterLoginAccountSearchRequest);

    Boolean updateRealNameIfMobileExisted(String soldierId, String mobile, String userName);

    BaseResponse<SoldierOuterLoginAccountDTO> getSoldierOuterLoginAccount(final BaseGetRequest baseGetRequest);
    BaseResponse<Integer> insertSoldierOuterLoginAccount(final SoldierOuterLoginAccountInsertRequest soldierOuterLoginAccountInsertRequest);



}
